"""
 数据结构练习1

* 购物车程序项目：
* 要求：
1. 运行程序后，让用户输入支付宝余额，然后打印我们商品列表给用户。
2. 让用户输入商品编号进行商品的购买。
3. 用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户。
4. 用户可以随时退出购买，推出时打印用户已购买的商品和支付宝余额。
"""

# 准备工作
# 1. 商品信息
goods_list = [
    ["python课本",60],
    ["华为手机",8000],
    ["小米手环",199],
    ["蜜雪冰城奶茶",8]
]


info = '''------goods detail-------
编号0，商品名称： %s，商品价格： %s
编号1，商品名称： %s，商品价格： %s
编号2，商品名称： %s，商品价格： %s
编号3，商品名称： %s，商品价格： %s
'''%(goods_list[0][0],goods_list[0][1],
     goods_list[1][0],goods_list[1][1],
     goods_list[2][0],goods_list[2][1],
     goods_list[3][0],goods_list[3][1],
    )
print(info)
# 是不是应该循环了呢？
while True:
    print("------goods detail-------")
    break
    # for循环优势，节省重复代码的书写
    for i in range(4):  # i是0，1，2，3
        print("编号%s, 商品名称%s：%s元" %(i,goods_list[i][0],goods_list[i][1]))

# 2. 用户购物信息
user_shopping_list = []
# 用户输入（余额）：  # ------知识点： 打印与用户输入------

count = 3
while True:
    money_balance = 6800
    Alipay = int(input("请输入您的支付宝余额："))
    count -=1

    if Alipay == money_balance:
        print("您输入的支付宝余额正确！")
        choice = int(input("请输入购买商品的编号："))
        ## 1. 输入编号存在，判断余额是否够
        if choice < len(goods_list):
            ### 1. 余额够，用户余额 - 商品价格
            if goods_list[choice][1] <= Alipay:
                Alipay = Alipay - goods_list[choice][1]
                print("您的商品购买成功，已添加到购物车，您的余额还有%s" % (Alipay))
                print("购买清单\n编号%s，商品名称%s：%s元"%(choice,goods_list[choice][0],goods_list[choice][1]))
                break
            ### 2. 余额不够，“您的余额不足”
            else:
                print("不好意思，您的余额不足！无法购买")
        ## 2. 输入的编号不存在，“请输入正确的余额”
        # 2. 输入错误，“请输入正确的余额”
        else:
            print("您输入的编号不存在，请重新输入！")
            choice_2 = int(input("重新输入购买商品的编号："))
            if choice_2 < len(goods_list):
                ### 1. 余额够，用户余额 - 商品价格
                if goods_list[choice_2][1] <= Alipay:
                    Alipay = Alipay - goods_list[choice_2][1]
                    print("您的商品购买成功，已添加到购物车，您的余额还有%s" % (Alipay))
                    print("购买清单\n编号%s，商品名称%s：%s元" % (choice_2, goods_list[choice_2][0], goods_list[choice_2][1]))
                    break

                ### 2. 余额不够，“您的余额不足”
                else:
                    print("不好意思，您的余额不足！无法购买")
                break




    else:
        if count == 0:
            print("您的账号无法正常使用！")
            break
        else:
            print("输入错误，您还有%d次机会！" % count)
print("over!")



"""
info = '''------goods detail-------
编号0，商品名称： %s，商品价格： %s
编号1，商品名称： %s，商品价格： %s
编号2，商品名称： %s，商品价格： %s
编号3，商品名称： %s，商品价格： %s
'''%(goods_list[0][0],goods_list[0][1],
     goods_list[1][0],goods_list[1][1],
     goods_list[2][0],goods_list[2][1],
     goods_list[3][0],goods_list[3][1],
    )
print(info)
# 是不是应该循环了呢？
while True:
    print("------goods detail-------")
    break
    # for循环优势，节省重复代码的书写
    for i in range(4):  # i是0，1，2，3
        print("编号%s, 商品名称%s：%s元" %(i,goods_list[i][0],goods_list[i][1]))
"""




"""
# 1. 输入正确，打印商品列表

## 用户输入商品编号
if money_balance == Alipay:
    print("您输入的余额正确！")
    choice = int(input("请输入购买商品的编号："))
## 1. 输入编号存在，判断余额是否够
    if choice < len(goods_list):
    ### 1. 余额够，用户余额 - 商品价格
        if goods_list[choice][1] <= Alipay:
            Alipay = Alipay - goods_list[choice][1]
            print("您的商品购买成功，已添加到购物车，您的余额还有%s"%(Alipay))
    ### 2. 余额不够，“您的余额不足”
        else:
            print("不好意思，您的余额不足！无法购买")
## 2. 输入的编号不存在，“请输入正确的余额”
# 2. 输入错误，“请输入正确的余额”
    else:
        print(input("您输入的编号不存在，请重新输入！重新输入的编号为："))

else:
    print("请输入正确的余额！")
"""


